ASP NET - Menu - Mobile

Implementei todo o código um asp net simple page ( sem code behind ) para simplificar o exemplo.
O ambiente web mobile tem funcionalidades diferentes do ambiente web desktop.
Se você implementou um menu pensando apenas num ambiente desktop pode ficar desapontado ao ver sua renderização num ambiente mobile.
A principal diferença é que no ambiente web-desktop temos um mouse que ao passar sobre um item do menu causa o evento 'mouse over' ou 'hover' que expande / abre os itens do menu.
No ambiente mobile não temos o mouse e, sendo assim o efeito do 'mouse over' deverá ser implementado no ambiente mobile pelo click do item.
Sendo assim os itens de menu superiores terão que ter obrigatóriamente o parâmetro NavigateUrl="#" porque ao serem clicados nada farão a não ser se tiverem sub-itens e o click ai simplesmente abrirá os sub-itens do menu.

Detectando o ambiente do browser - Desktop ou Mobile

Não é Dispositivo Móvel

Código:
<h4>
    <asp:Label ID="Label1" runat="server" OnLoad="Label1_Load"></asp:Label>
</h4>

<script runat="server">
    Protected Sub Label1_Load(sender As Object, e As EventArgs)
        If Request.Browser.IsMobileDevice Then
            sender.text = "Dispositivo Móvel"
        Else
            sender.text = "Não é Dispositivo Móvel"
        End If
    End Sub
</script>

Exemplo do Web-Menu :

Skip Navigation Links